body {
  margin: 0;
  padding: 0;
  background: #262626;
}


.cup {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 150px;
  height: 180px;
  border: 6px solid #fff;
  border-top: 2px solid transparent;
  border-radius: 15px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  background-color: rgb(118, 218, 255);
  background-repeat: repeat-x;
  overflow: hidden;
}
.cup:before {
  content: '';
  position: absolute;
  width: 50px;
  height: 80px;
  border: 6px solid #fff;
  right: -62px;
  top: 30px;
  border-top-right-radius: 35px;
  border-bottom-right-radius: 35px;
}

.cup:after {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  top: -100px;
  left: 50%;
  background-color: #fff;
  border-radius: 45%;
  transform: translate(-50%, -70%) rotate(0);
  animation: rotate 10s linear -5s infinite;
  box-shadow: 0 0 0 6px #fff;
}

@keyframes rotate {
  0% {
    transform: translate(-50%, -73%) rotate(0deg);
    width: 400px;
    height: 400px;
  }
  50% {
    transform: translate(-50%, -73%) rotate(180deg);
    width: 1000px;
    height: 1000px;
  }
  100% {
    transform: translate(-50%, -70%) rotate(360deg);
    width: 400px;
    height: 400px;
  }
}

.cupEar {
  position: absolute;
  width: 50px;
  height: 80px;
  border: 6px solid #fff;
  top: calc(50% - 60px);
  left: calc(50% + 76px);
  border-top-right-radius: 35px;
  border-bottom-right-radius: 35px;
}